export const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return (
    [year, month, day].map(formatNumber).join('/') +
    ' ' + [hour, minute, second].map(formatNumber).join(':')
  )
}
export const formatDate = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()

  return [year, month, day].map(formatNumber).join('-')
}

// 日期格式化
export const strFormatDate = function(value) {
  var crtTime = new Date(value)
  return dateFormat('yyyy-MM-dd', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化
export const strFormatTime = function(value) {
  var crtTime = new Date(value)
  return dateFormat('yyyy-MM-dd hh:mm:ss', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化不带秒
export const strFormatMinutes = function(value) {
  var crtTime = new Date(value)
  return dateFormat('yyyy年MM月dd日 hh:mm', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化只带小时分钟
export const strFormatHourTime = function(value) {
  var crtTime = new Date(value)
  return dateFormat('hh:mm', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化只带小时分钟
export const strFormatWeek = function(value) {
  var crtTime = new Date(value)
  return "星期" + "日一二三四五六".charAt(crtTime.getDay());
}
// 格式化只有年月
export const strFormatYearMonth = function(value) {
  var crtTime = new Date(value)
  return dateFormat('yyyy-MM', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 格式化只有月
export const strFormatMonth = function(value) {
  var crtTime = new Date(value)
  return dateFormat('MM', crtTime) //直接调用公共JS里面的时间类处理的办法
}
// 时间格式化只带时分秒
export const strFormatHourMSTime = function(value) {
  var crtTime = new Date(value)
  return dateFormat('hh:mm:ss', crtTime) //直接调用公共JS里面的时间类处理的办法
}

// 时间格式化不带秒+不另加八小时value.replace(/-/g,'/')
export const strFormatMinutesNoEightH = function(value) {
  var crtTime = new Date(value.replace(/-/g,'/'))
  return dateFormat('yyyy年MM月dd日 hh:mm', crtTime) //直接调用公共JS里面的时间类处理的办法
}

// 将日期转换为时间戳
export const dateToTimestamp = function(value) {
  var crtTime = new Date(value.replace(/-/g,'/'))
  return Date.parse(crtTime) //直接调用公共JS里面的时间类处理的办法
}

export const dateFormat = function(fmt, date) {
  //author: meizz
  var o = {
    'M+': date.getMonth() + 1, //月份
    'd+': date.getDate(), //日
    'h+': date.getHours(), //小时
    'm+': date.getMinutes(), //分
    's+': date.getSeconds(), //秒
    'q+': Math.floor((date.getMonth() + 3) / 3), //季度
    S: date.getMilliseconds() //毫秒
  }
  if (/(y+)/.test(fmt))
    fmt = fmt.replace(
      RegExp.$1,
      (date.getFullYear() + '').substr(4 - RegExp.$1.length)
    )
  for (var k in o)
    if (new RegExp('(' + k + ')').test(fmt))
      fmt = fmt.replace(
        RegExp.$1,
        RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)
      )
  return fmt
}
